package com.xoms.admin.persist.dao;

import java.util.List;

import com.xoms.admin.model.ProCheckBean;
import com.xoms.admin.model.ProCheckProInfoBean;
import com.xoms.admin.model.vo.AuditCheckBean;
import com.xoms.admin.model.vo.BatchCheckBean;

/**
 * 盘库相关dao
 * @author chengl
 *
 */
public interface ProCheckDao {
	
	/**
	 * 盘库单数量
	 * @param key
	 * @param storeId
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	int selectCount(String key, String storeId, String startTime, String endTime);
	
	/**
	 * 获取盘库列表
	 * @param key
	 * @param page
	 * @param pageSize
	 * @param storeId
	 * @param startTime
	 * @param endTime
	 * @return
	 */
	List<ProCheckBean> selectList(String key, int page, int pageSize, String storeId, String startTime, String endTime);
	
	/**
	 * 获取详情数量
	 * @param cid
	 * @return
	 */
	int selectDetailCount(String cid);
	
	/**
	 * 获取详情列表
	 * @param cid
	 * @param page
	 * @param pageSize
	 * @param paging
	 * @return
	 */
	List<ProCheckProInfoBean> selectDetailList(String cid, int page, int pageSize, int paging);
	
	/**
	 * 根据获取盘库单信息
	 * @param cid
	 * @return
	 */
	ProCheckBean selectOneById(String cid);
	
	/**
	 * 删除盘库单
	 * @param cid
	 * @return
	 */
	int del(String cid);
	
	/**
	 * 删除详情
	 * @param cid
	 * @return
	 */
	int delDetails(String cid);
	
	/**
	 * 更新审核状态
	 * @param cid
	 * @param i
	 * @return
	 */
	int updateSubmitStatus(String cid, int i);
	
	/**
	 * 获取当年最大编号数
	 * @return
	 */
	String selectMaxCheckNoInYear();
	
	/**
	 * 新建盘库
	 * @param data
	 * @return
	 */
	int insert(ProCheckBean data);
	
	/**
	 * 更新盘库
	 * @param data
	 * @return
	 */
	int update(ProCheckBean data);
	
	/**
	 * 替换详情信息
	 * @param batch
	 * @return
	 */
	int replaceBatchDetail(List<BatchCheckBean> batch);
	
	/**
	 * 获取盘库详情
	 * @param aid
	 * @return
	 */
	AuditCheckBean selectAuditCheckDetailsById(String aid);



}
